using System.Collections.Specialized;
using System.Data;
using System.IO;

namespace Roge
{
    internal class Stockings
    {
        public class NMIXX
        {
            // 感觉比较神奇
            public int order
            {
                
                get { return order; }
                set { order = value; }
            }
            private string? name;
            // Python 和 C++ 掺半的感觉

            public string? get_name()
            {
                return name;
            }
            // 神奇的封装,可能只有格式才是相同的
            public void set_name(string n)
            {
                name = n;
            }

            // Default constructor
            public NMIXX()
            {

            }
            // 有参构造函数
            public NMIXX(int? ord, string? n)
            {
                this.name = (string)n;
                this.order = (int)ord;
            }
            // 拷贝构造函数
            public NMIXX(NMIXX nmixx)
            {
                this.order = nmixx.order;
                this.name = nmixx.get_name();
            }
        }
        public static void Main(string[] args)
        {
            // 你为啥这么der啊,这让我怎么干你
            // get ...... set 

            NMIXX lily = new NMIXX(1, "Lily");
            NMIXX bae = new NMIXX(5, "Bae");
            Console.WriteLine(bae.get_name());
            Console.WriteLine(lily.order);
            Console.WriteLine($"{lily.order}{bae.order}99");

            // Copying constructors
            NMIXX jiwoo = bae;
            Console.WriteLine($"{jiwoo.order}{bae.order}{jiwoo.get_name()}{bae.get_name()}");

            // But I will beat all the adversities.
            NMIXX kyujin = new NMIXX();       // 居然也是需要开辟内存的,要不然也是空指针
            kyujin.set_name("Kyujin");
            kyujin.order = 7;

            Console.WriteLine($"{kyujin.order}{kyujin.get_name()}");

        }
    }
}